package simulaco.dto;

import gminet.infra.dao.SimpleTransferObject;

import java.util.List;

/**
 * @author Gabriel Flores Mendes
 * 
 * 
 */
public class Acao extends SimpleTransferObject {

    private static final long serialVersionUID = 6492170805419893930L;

    // CODIGOS
    private static final byte COD_INDEFINIDO = 0;
    private static final byte COD_INCLUIR = 11;
    private static final byte COD_ALTERAR = 12;
    private static final byte COD_EXCLUIR = 19;
    private static final byte COD_ATIVAR = 31;
    private static final byte COD_DESATIVAR = 32;

    // ACOES
    public static final Acao INDEFINIDO = new Acao(COD_INDEFINIDO, "INDEFINIDO");
    public static final Acao INCLUIR = new Acao(COD_INCLUIR, "INCLUIR");
    public static final Acao ALTERAR = new Acao(COD_ALTERAR, "ALTERAR");
    public static final Acao EXCLUIR = new Acao(COD_EXCLUIR, "EXCLUIR");
    public static final Acao ATIVAR = new Acao(COD_ATIVAR, "ATIVAR");
    public static final Acao DESATIVAR = new Acao(COD_DESATIVAR, "DESATIVAR");

    static {
        Class<Acao> clazz = Acao.class;
        addObject(clazz, INCLUIR);
        addObject(clazz, ALTERAR);
        addObject(clazz, EXCLUIR);
        addObject(clazz, ATIVAR);
        addObject(clazz, DESATIVAR);
    }

    private Acao(int i, String str) {

        super(i, str);
    }

    @SuppressWarnings("unchecked")
    public static List<Acao> getList() {

        return (List<Acao>) getList(Acao.class);
    }

    public static Acao getActionTypeById(int id) {

        return new Acao(id, null);
    }

}
